home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / PROGENV / EtPeManager.h < prev    next >
C/C++ Source or Header  |  1992-07-16  |  2KB  |  83 lines

  1. #ifndef EtPeManager_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define EtPeManager_First
  7.  
  8. #include "Dialog.h"
  9. #include "ByteArray.h"
  10. #include "Window.h"
  11.  
  12. class VObject;
  13. class PeHierarchyBrowser;
  14. class PeObjectBrowser;
  15. class PeInspector;
  16. class PeSourceBrowser;
  17. class PeFihTool;
  18. class Window;
  19. class PathLookup;
  20. class PeMethodAccessor;
  21. class Collection;
  22. class Ref;
  23. class Menu;
  24.  
  25. //---- EtPeManager -----------------------------------------------------------------
  26.  
  27. class EtPeManager: public Dialog {
  28.     static PathLookup *universe;
  29.  
  30.     PeMethodAccessor *methodAccessor;
  31.     
  32. public:
  33.     MetaDef(EtPeManager);
  34.     EtPeManager();
  35.     ~EtPeManager();
  36.  
  37.     VObject *DoMakeContent();
  38.     VObject *DoMakeIconContent();
  39.     
  40.     void Control(int id, int part, void *val);
  41.  
  42.     void SrcBrowserShow(Class *cp, bool decl, int at= -1);
  43.     void SrcBrowserSpawn(Class *cp, bool decl, int at= -1);
  44.  
  45.     //---- universe of source files
  46.     static PathLookup *Universe();
  47.     static bool FileOfClass(Class *cl, char *fname, bool decl);
  48.     
  49.     //---- method access
  50.     bool SameMethods(char *m1, char *m2);
  51.     Collection *LoadMethodsOfClass(Class *cl);
  52.     bool IsDestructor(char *m1);
  53.  
  54.     void CollectParts(Collection* col);
  55.     
  56.     //---- menues
  57.     Command *DoMenuCommand(int);
  58. };
  59.  
  60. //---- MethodReference ---------------------------------------------------------
  61.  
  62. class PeMethodReference: public ByteArray {
  63.     Class *clp;
  64.     int line;
  65.     bool isPublic;
  66. public:
  67.     MetaDef(PeMethodReference);    
  68.     PeMethodReference(int line, Class *clp, char *method, bool isPublic);
  69.     bool IsEqual(Object *);
  70.     int Line()
  71.     { return line; }
  72.     Class *GetClass()
  73.     { return clp; }
  74.     bool IsPublic()
  75.     { return isPublic; }
  76. };
  77.  
  78. //---- entry points ------------------------------------------------------------
  79.  
  80. extern EtPeManager *gEtPeManager;
  81.  
  82. #endif
  83.